package oracle;

import java.sql.*;

/**
 * 实现：利用Java 链接Oracle 数据库 CRUD 【查】
 * 1.加载驱动 oracle.jdbc.OracleDriver Oracle10
 *         com.mysql.jdbc.Driver Mysql5.5
 * 2.获取链接
 *  1.获取Oracle基本信息：地址.用户名.密码
 *  2.获取信息交给工具类DriverManager处理 连接成功返回 connection
 *  3.打桩测试 是否链接成功
 *  ----------------------JDBC连接成功ORACLE
 *  ----------------------JDBC规范---CRUD"增删改"
 *  4.执行SQL ---创建表--oracle中创建 login表   序号、姓名、手机号
 *   JDBC 提到对象 Statement对象 作用：执行SQL语句的类 提供执行SQL方法
 *  5.‘。处理结果
 *
 */
public class OracleJDBC {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.加载驱动--oracle 版本 10g
        Class.forName("oracle.jdbc.OracleDriver");
        //2.获取链接【准备功能：地址 用户名 密码】
        //1.链接Oracle基本信息
        String username="system";//Oracle数据库 用户名
        String password="yjs050109";
        //thin 瘦客户端--固定前缀
        String url="jdbc:oracle:thin:@127.0.0.1:1521:XE";
        //2.Oracle基本信息交给工具类
        Connection con=DriverManager.getConnection(url,username,password);
        //3.打桩：数据库是否连接成功
        System.out.println("测试数据库链接成功"+con);
        //4.执行SQL---Statement对象--CRUD操作  查询 executeQuery
        //链接成功Oracle之后，产生Statement对象
        Statement st=con.createStatement();
        //执行SQL查询语句--查询语句
        String sql="select * from login";
        String d="insert into login values(4,'闫佳赛','19943511392')";
        int y=st.executeUpdate(d);
        System.out.println(y);
        //Statement 对象 查询和增删改---查询方法：executeQuery 返回对象
        //ResultSet 对象--保存所有查询记录数据【字段和记录】
        ResultSet rs=st.executeQuery(sql);
        //5.处理结果【取所有记录数  1.判断有没有字段】
        while(rs.next()){ //next（）判断表中是否有字段 有字段返回true 无字段返回false
        //取出字段中所有记录数
            int id=rs.getInt("id");
            String name=rs.getString("name");
            String phone=rs.getString("phone");
            System.out.println("login表中所有数据："+id+name+phone);

        }
        //6.关闭资源
        rs.close();
        st.close();
        con.close();
        //练习：JDBC链接ORACLE--login--增加一条记录


    }

}






















